package main

import (
	_ "CRMSystem/models"
	_ "CRMSystem/routers"
	"fmt"
	"github.com/beego/beego/v2/client/orm"
	beego "github.com/beego/beego/v2/server/web"
	_ "github.com/go-sql-driver/mysql"
)

func main() {
	beego.Run()
}
func init() {
	var err error
	//加载配置文件
	err = beego.LoadAppConfig("ini", "conf/app.conf")
	if err != nil {
		fmt.Println(err.Error())
	}

	//配置文件获取信息
	driver, err := beego.AppConfig.String("DBDriver")
	if err != nil {
		panic(err)
	}

	name, err := beego.AppConfig.String("DBUsername")
	if err != nil {
		panic(err)
	}

	pws, err := beego.AppConfig.String("DBPassword")
	if err != nil {
		panic(err)
	}

	db, err := beego.AppConfig.String("DBDb")
	if err != nil {
		panic(err)
	}

	port, err := beego.AppConfig.String("DBPort")
	if err != nil {
		panic(err)
	}

	// 注册数据库驱动
	err = orm.RegisterDriver(driver, orm.DRMySQL)
	if err != nil {
		panic(err)
	}

	dbConnStr := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8", name, pws, port, db)

	// 注册默认数据库连接
	err = orm.RegisterDataBase("default", driver, dbConnStr)
	if err != nil {
		panic(err)
	}

	// 执行数据迁移
	err = orm.RunSyncdb("default", false, true)
	if err != nil {
		panic(err)
	}
}
